Modern software requires substantial amounts of information to be displayed upon a computer display. Generally, users of complex software programs maintain many open windows upon a computer display such that information is continuously and readily available. These windows may display information and/or contain graphical user interfaces (GUIs) used to control execution of a program. Furthermore, users typically execute multiple programs simultaneously such that one or more windows are displayed for each executing program. The result is a computer display that is cluttered with windows and a requirement for the user to continuously manipulate the windows to control the content being displayed.
More specifically, when multiple windows are positioned on the screen, opening a new window and displaying its contents may lead to some fastidious and numerous manual operations (i.e., mouse and button manipulation) to manipulate the windows into an understandable view. Solutions to manually manage multiple windows in a Graphical User Interface (GUI)-based operating system are known in the art. In the known solutions based on the actual graphics possibilities provided by various operating systems, for example, “Windows”, Mac OS, and GNOME, the method to manually optimize the arrangement of a number of windows on the screen includes resizing the form factor of a window and window placement. Resizing the form factor may be performed using basic control buttons of the window. These control buttons are typically located in a title bar and are used to manage window operations such as maximize, minimize and close. Additionally, a resizing edge capability is available to allow a user to modify the form factor of the window by selecting the edge that needs to be shifted and “dragging” the edge to resize the window. Also, global window placement can be arranged on the screen by moving a chosen window from one location to another. Such window movement requires a user to “drag and drop” the window using manipulations of the mouse or other input device.
The other solutions known in the art may involve closing of open windows, stopping of running applications or shrinking of undesirable windows and sending them to a taskbar. However, the necessity to open multiple windows to control or monitor data processing operations such as interactive programs, implies that the program results and action menus have to be permanently displayed on the front view of the screen. Thus, these solutions may not be viable in most cases.
Many business scenarios, such as stock trading, involve technical tasks that require a user to open multiple windows. These multiple windows allow the user to access the necessary information required for a running activity—the stock prices in this particular case. The usual problem is that some of the windows may stack on one another while other windows may overlap. Often, a main window may be hidden, or, the content is not fully displayed causing dissatisfaction to the user. In order to create a better placement and viewing, certain manual operations, including but not limiting to, move, magnify, resize, drag, close, shrink, expand, shift, and abut may continuously need to be performed by the user.
Thus, it may be seen that the existing solutions to manage multiple windows on the screen present several drawbacks. Some of them include:
1. The active area of the screen is not fully populated.
2. The multiple window openings are not dynamically arranged on the screen.
3. The content of the multiple windows is not completely displayed.
4. The resizing of the window opening to fit both contents and free area pixels of the screen is not optimized.
5. The mixing up operation of multiple windows is fastidious and not monitored.
6. The GUI basic actions do not allow the user to utilize the screen completely.
7. The optimal arrangement of multiple windows may be difficult to obtain manually, such as by using computer mouse or light pen.
8. Depending on the window location on the screen, and in particular, when a window is near to the screen border, it is not possible to access to window commands and scroll bars with the classic API (Application Programming Interface) such as the maximize action or resize action.
9. Many browsers do not allow resizing of a window, if the window is maximized.
As mentioned above, prior art solutions are not fully appropriated with the new trend of program development and technology evolution.
Thus there is a need for a solution that arranges multiple windows within a given screen, and maximizes the area utilization of the screen by using an enhanced placement method that gives the user a perfect viewing of the multiple window content.